renderer_vulkan: Simplify debug marker settings. #2159
Merged
+132
−98
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently emitting debug names/markers is gated behind a confusing mix of conditions like whether certain tools are attached, settings named after tools like RenderDoc that they actually have nothing to do with, etc.
This PR simplifies things down to just two settings with very clear purpose: a setting to enable host-provided debug markers, and a setting to enable guest-provided debug markers. When host markers are enabled, debug names and markers provided by the emulator will be emitted. When guest markers are enabled, debug markers provided by the guest in the command buffer will be emitted.
Both types of markers are forced on when crash diagnostics are enabled at the config level, similar to before. We can force them on based on other settings as well if we decide it is warranted.
This also adds debug names to image and buffer views, which are useful to me and part of the motivation for this change: putting names on every created view could be expensive, and I wanted clear settings to gate this behavior behind.